package com.hu.bgp.shared;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.hu.bgp.framework.clientapi.ClientGameContext;
import com.hu.bgp.framework.clientapi.ClientToServerMessage;

/**
 * Async editie (voor in javascript) van de BoardGameService servlet interface.
 * Automagisch gegenereerd door GWT.
 * 
 * @author ejvos
 */
public interface BoardGameServiceAsync
{
	public void handleMessage(ClientToServerMessage message, AsyncCallback<Void> callback);

	public void getClientGameContext(AsyncCallback<ClientGameContext> callback);

	public void getClientGameTypeCollection(AsyncCallback<ClientGameTypeCollection> callback);

	public void getProfileName(AsyncCallback<String> callback);

	public void setProfileName(String profileName, AsyncCallback<Void> callback);

	public void getClientGameInstanceCollection(String gameTypeAlias, AsyncCallback<ClientGameInstanceCollection> callback);

	public void createNewGameInstance(String gameTypeAlias, AsyncCallback<ClientGameInstance> callback);

	public void joinGame(String gameTypeAlias, String gameInstanceId, AsyncCallback<String> callback);

	public void getScores(String gameTypeAlias, AsyncCallback<ArrayList<ClientScore>> callback);
}
